This invention relates to service session resource management, in particular but not exclusively, to the management of bandwidth for concurrent use by multiple services in a local area network of devices. An example of such a local area network is one on the premises of a subscriber to a broadband communications access service, for example, one provided as part of a domestic or small business network installation to enable a plurality of devices to access services over a single broadband-enabled communications line.
There is expected to be a growing demand for simultaneous use of multiple services by devices located within the same local area network (LAN), which require concurrent use of a single broadband access line. This demand is driven by factors such as the availability of higher broadband speeds, the proliferation of multiple internet-enabled devices in the home, multi-user households, and an increasing amount of content available on the Internet, in particular the proliferation of video services. Managing the simultaneous use of a single broadband line for access to multiple services requires careful management of the available bandwidth over the access network as well as within the home network located on the service subscriber premises.
Generally, it is not possible for a broadband access service provider to determine what combination of services will be available to a customer at the point-of-sale of the broadband access service, nor even at the point-of-sale of any services predicated on having broadband access. For example, if a customer has two digital television decoders (often known as set-top boxes (STBs), although rarely actually placed on top of a television set), a broadband line rate of 10 Mbps would allow both STBs to display a different streamed content channel simultaneously if each streamed content channel comprises a standard definition (SD) television (TV) channel, but if a high definition (HD) TV channel stream is required, the extra bandwidth it requires would preclude streaming of a second channel (SD or HD) over the broadband line. To implement an appropriate mediation service between multiple devices, real-time decisions must be made, at the point-of-use, about what can be done, without compromising access to services and the quality of service (QoS) of the services accessed.
FIG. 1 of the accompanying drawings show part of a communications system 10 in which data from one or more external data sources 12 is streamed via a Multi-Service Access Node (MSAN) 14 over a broadband access line 16 to an access point/router device 18 which provides broadband access to a plurality of user terminals 22, 24 located in a local area network 20 provided at the broadband access line service subscriber's premises. As shown in FIG. 1, the access point/router 18 also provides router support to the user terminals 22, 24 enabling multiple simultaneous internal sessions to occur over wired communications link(s) 26 (for example, Powerline and/or Ethernet links) and/or wireless communications links 28 (for example, WLAN or WIFI links) as well as supporting external sessions over access line 16 between the user terminals 22, 24 and external content source 16. An example of such an integrated access point/router 18 known in the art is the BT HomeHub™. Examples of user terminals include data consuming client devices 22, for example, devices which consume content data such as STBs, Internet Protocol (IP) enabled TVs, media streamers, tablet devices, audio/video players, computer devices and mobile/fixed telephone devices. Examples of user terminals also include data source devices 24 located within LAN 20. Data source devices 24 are connected to the router 18 internally by a wired or wireless communications link 26, 28 to distribute data such as content to data consuming devices 22. Examples of internal data source devices 24 include, for example, content source devices such as Personal Video Recorder (PVR) content storing devices, as well as any other device storing content such as computers, mobile telephones, and network attached storage (NAS) devices. The terms content and the equivalent term content data are well-known in the art and generally refer to data representing audio or video content which is played back on a content consuming device, for example, films, television programs, music files, games etc., and may have a multi-media data format.
Content data usually places a high demand for bandwidth resources to playback user terminals as well as processing resources on the playback user terminals. The need to reserve resources for a new service session to access a content delivery service has to be balanced against the need to maintain the quality of service experienced by established service sessions over which content is currently being delivered. In practice, unless the bandwidth available over both the access link 16 to the router 18 and over the internal links 26, 28 between the client devices 22, 24 with the router 18 is unlimited, some mediation process must be deployed.
There are various methods for managing bandwidth over the access line to ensure that an appropriate balance between the above competing demands to access content and to maintain the QoS of the content delivered.
It is known, for example from International Patent specification WO 2007/081171, to obtain information to determine the correct amount of bandwidth to be reserved when streaming content from a server outside the home network. In this reference, an “external server” (in practice an external network comprising a plurality of servers) is model to determine the capacity required. U.S. Pat. No. 6,738,819 describes a method for performing admission control based on network load monitoring. However, in both cases, the method is operated by the individual client devices, and does not provide support for any client devices that are unable to make direct use of this capability. The allocation process would be compromised for all the client devices unless the admission control is invoked by all of them.
Local bandwidth management techniques known in the art include those which implement Universal Plug and Play (UPnP) Quality of Service (QoS) architectures such as that described in “UPnP-QoS Architecture: 3, for UPnP Version 1.0”, adopted as a standardized DCP by the Steering Committee of the UPnP forum and dated: Nov. 30, 2008, the contents of which are incorporated herein in their entirety by reference. This document describes a session management device which is suitable for providing a local bandwidth management capability to enable a video streaming client to determine whether or not it is safe to start a new video-on-demand (VoD) or linear TV stream (non-VoD IPTV) without adversely impacting any existing streams. This decision can be made on the basis of knowledge of the current broadband line rate, and associated limits, and knowledge of other VoD and linear TV services running on the same line, including how much bandwidth each is consuming.
UPnP QoS enabled user terminals 22, 24 in such architectures are able to negotiate with a UPnP QoS enabled router 18 for bandwidth. The UPnP QoS router 18 mediates simultaneous use of multiple services over the same broadband line 16 and within the same network 20. For example, if a user is already using one service and an attempt is made to use a second service, and the combined bandwidth requirements of the two services exceeds the capacity either of the customer's broadband connection or of the local network 20 (e.g. if operating under the IEEE 802.11 wireless protocol known as “WiFi” then either the second attempt should be blocked or the existing connection must be suspended to allow the second one to be connected).
The most effective mediation solution requires all of the user devices 22, 24 and router 18 to fully co-operate in the mediation process. However, this will be difficult to achieve unless all the user terminals 22, 24 connected to the router 18 support the mediation capability.
FIG. 2 retains the numbering scheme of FIG. 1 for like elements and shows how a UPnP quality of service (QoS) Service Manager receiving a request from a UPnP QoS user terminal 22 for a new session (step 30) would implement such a bandwidth mediation process. The UPnP QoS Service Manager determines the available line rate over the broadband access line (either by querying this or by retrieving a stored value) and determines from its internal state awareness of the broadband access lines resources it has currently reserved for use by existing sessions if sufficient resources are available to support the new service session (step 34). If the required resources are not available, for example, if providing the resources required to support the new service session would adversely impact the QoS of the services already being provided over the one or more other sessions, an appropriate response is sent to the requesting UPnP QoS client terminal denying access to the requested service (step 46). If the resources are available, however, then the UPnP QoS Service Manager reserves the resources (step 38) and updates its internal state (step 40) so that it retains knowledge of the resources reserved for future request management. The UPnP QoS Service Manager then sends a response to the requesting UPnP QoS client terminal indicating the session resources have been reserved (step 42) and the UPnP QoS client terminal 22 then starts the new session (step 44).
FIG. 3 retains the numbering scheme of FIG. 1 for like elements and shows schematically what might happen when a client terminal 22 without the UPnP capabilities and unable to co-operate in this way with the UPnP QoS Service Manager also requests a service over access line 16. In FIG. 3, after a new session request is generated by a non-UPnP QoS enabled client terminal 22 (step 60) the new session starts to use resources over the broadband access line without prior reservation (step 62) (alternatively, it may reserve resources over the access line without reference to the UPnP QoS Service Manager). The consequent bandwidth utilisation means that existing sessions may have less bandwidth and so potentially experience a drop in their quality of service or even premature termination.
As FIG. 3 shows schematically, this use of the access line (62) affects the operation of UPnP QoS Service Manager, as its internal state is no longer accurate (64) described in FIG. 2 in two ways. Firstly, as the new session uses resources not reserved by the UPnP QoS Service Manager and, in consequence, step (34) in FIG. 2 will not retrieve the actual bandwidth utilised over the access line. Secondly, any sudden drop or termination of bandwidth utilisation by existing sessions impacted by the resource reservation (56) may also fail to be communicated to the UPnP QoS Service Manager. These effects mean that the UPnP QoS Service Manager will no longer have the correct internal state stored for the actual resource utilisation over the broadband access line. As a result, the on-going performance of the UPnP QoS Service Manager whilst the non-UPnP QoS client terminal 22 service session exists will be compromised as the QoS Service Manager will make decisions based on there being more bandwidth than is actually available for any given line rate over the broadband communications access line 16.
Accordingly, depending on circumstances and the way the router 18 mediates data requests from client terminals, non-UPnP QoS client terminals may seize all the bandwidth they require without regard to any competing requirements, or be unable to get the bandwidth they require, or abruptly lose connections during a session without warning. Similarly, UPnP QoS service management supporting client terminals will suffer due to the UPnP QoS Service Manager lacking any knowledge of the bandwidth the non-UPnP QoS client terminal sessions are consuming over the access line. None of these outcomes result in a good experience for the user.
It is therefore desirable to provide a request mediation system which will operate on data requests from all terminals connected to a router without requiring any special capabilities in the individual terminals.
A first aspect of the invention seeks to provide a service session request interceptor arranged to intercept requests for data services generated by client terminals in a communications network, the interceptor comprising: means to receive service request generated by said plurality of client terminals; means to determine a destination address of a received service request; means to intercept a service request for content from a destination address determined to match one or more predetermined intercept-triggering destination addresses; means to determine for each said intercepted service request, a resource requirement for said requested service; means to forward a resource reservation request for the required resource to a resource manager, and means to forward the received request to said destination address in dependence on receiving an indication from said resource manager that the required resource has been reserved.
The required resource for the requested service may be derived from the destination address, and specifically from the universal resource locator addressed by said service request. Alternatively, the required resource may be indicated by the format and/or content of the universal resource locator.
The resource may comprise bandwidth over a wired or wireless communications link.
The service request interceptor may further comprise means arranged to process a reject request message from said resource manager, to extract information enabling concurrent service sessions for which resources have been reserved to be identified.
The service request interceptor may further comprise:                means to intercept a service session request generated by a service requesting client terminal;        means to determine at least one session resource required for fulfillment of said service session request to maintain one or more predetermined delivery criteria;        means to determine at least one required session resource is not available;        means to reject said service request; and        means to provide information to said service requesting user terminal on at least one other service session utilising said at least one service session resource, whereby a user of said client terminal is able to receive said information and in dependence thereon selectively modifying said at least one of said at least one other service sessions.        
The service request interceptor may further comprise:                means to generate an information identifier for the extracted information;        means to generate a re-direct message including said information identifier;        means to send said re-direct message including said information identifier to a client terminal from which the rejected service request originated; and        means to provide to a requesting data server said extracted information responsive to receiving an message requesting said extracted information from the requesting data server, the message identifying the information requested using said information identifier.        
The invention also extends to a system comprising a service request interceptor as defined above, in combination with a data-server, the data server comprising:                means arranged to receive a message from a client terminal;        means to extract a said information identifier from a said received message;        means to generate said message to request information from said service request interceptor, the message including said information identifier,        whereby, responsive to receiving said information from said service request interceptor, said data-server provides said information to said client terminal.        
The invention also extends to a router for a local area network, the router being capable of routing a plurality of at least partially contemporaneous service sessions over a communications link, and including a service request interceptor as defined above, and further comprising a resource manager having:                means to store a current resource utilisation indicator for a resource of said communications link;        means to receive service session requests requiring resource reservation over said communications link;        means to process received requests and to reserve a required resource if available over said communications link in dependence on said current resource utilisation indicator and a determination of the maximum resource availability over said communications link,        wherein said current resource utilisation indicator is updated by said service request processor responsive to requests being received from said service request interceptor to indicate a resource used by one or more service sessions established by one or more client terminals configured to send service requests over said communications line without requesting access to the service from said service session manager.        
The router may further comprise:                a plurality of user ports, each port for connection to a said client terminal,        an external connection port;        switching means for transmitting data, and requests for data, between the ports, and said external connection port;        a line speed checker;        one or more data processors arranged to implement said service session resource manager and arranged for processing service session data requests received at each port and to select which service session requests are to be forwarded to the external connection port.        
Alternatively, the interception is performed on the router but all other functionality required to establish the resource reservation requirement, make the resource reservation request, and make a decision on the request may be implemented outside the router component, for example, on a PC, STB, NAS or another component adjunct to the router, or in a central network location.
According to a further aspect, the invention provides a method of service session resource management in which requests for data services generated, by client terminals in a communications network are intercepted:                a destination address of each received service request is determined;        identifying service requests for content to be retrieved from destination addresses determined to match one or more predetermined intercept-triggering destination addresses;        determining for each said intercepted service request, a required resource for said requested service;        generating a resource reservation request for the required resource, and        determining if the required resource is available        if the required resource is available, reserving the required resource,        forwarding the received request to said destination address if the required resource has been reserved.        
The method may further comprise updating a current resource utilisation indicator to indicate a resource used by one or more service sessions established by one or more client terminals configured to send service requests over said communications line without requesting access to the service from said service session manager.
The method may further comprise intercepting a service session request generated by a service requesting client terminal; determining at least one session resource required for fulfillment of said service session request to maintain one or more predetermined delivery criteria; determining at least one required session resource is not available; rejecting said service request; and providing information to said service requesting user terminal on at least one other service session utilising said at least one service session resource, whereby a user of said client terminal is able to receive said information and in dependence thereon selectively modifying said at least one of said at least one other service sessions.
In this way, when a client terminal which does not support UPnP QoS Service Management attempts to request a service which will use “premium” bandwidth over a access network communications link, for example by requesting a service which uses bandwidth reserved for packets forming data streams which have priority levels above a best effort forwarding class, other services also using the premium bandwidth are less likely to be unexpectedly or adversely impacted, as the UPnP QoS Service Manager can now monitor such client terminal bandwidth utilisation.
The resource manager is preferably a Universal Plug and Play (UPnP) Quality of Service (QoS) Service Manager of the type specified in a UPnP QoS Service Management Architecture standards, such as version three of the standard.
The communications link may comprise a line hosting a broadband access link such as an Asynchronous Digital Subscriber Line (ADSL) link or other type of DSL link, and the resource over said communications line may comprise the bandwidth available using said broadband access link. Alternatively, the communications link may comprise an internal link with a plurality of devices within a local area network connected via a router on which said service session resource manager is located.
The communications link may comprise wireless or wired communications channels and may be internal to other client devices or external to the LAN.
Where appropriate, a router device is configured to hold an estimate of the capacity of the available bandwidth (or equivalently data rate) over the communications channel and makes this available to the QoS Service Session Manager. The value indicated to the QoS Service Session Manager (or used by the QoS Service Session Manager) is preferably slightly less than the theoretical bandwidth or data rate available. For example, when the router makes a value of the bandwidth available over a wireless channel, this can be reduced (either by the router or by the QoS Service Manager) by, for example, anything from 10% below to 10% of the theoretical rate available. Similarly, embodiments in which an electrical power-line is used as a communications link, for example, a connection between a device and an Ethernet interface on the router device 18, may require adjustment of the actual bandwidth to a lower value to allow for a safety margin.
A broadband access link may be provided using a copper, cable, optical, or wireless (e.g. 3G, WiMax, etc,) link.
A new service session request may be intercepted by a service request interceptor to determine its resource requirement, whereby the determined resource requirement is forwarded by the service request interceptor in a service session resource reservation request to said service request processor.
The service session resource manager may further comprise means to cause an error message to be sent to one of said one or more clients if it is determined from said resource utilisation indicator there is insufficient resource for a new service session requested by said one of said one or more clients.
If it is determined from said resource utilisation indicator that there is sufficient resource for the new service session requested by one of said one or more client terminals configured to send service requests over said communications line without requesting access to the service from said service session manager, said service session resource manager may reserve resources for said new service session.
The error message may indicate one or more existing sessions using said resource over said communications line.
The client terminal receiving said error message may further request session preference information to be provided by a user of the terminal to indicate if the new service session or one or more indicated existing service sessions is preferred by the user, wherein responsive to said session preference information being communicated to said service session resource manager, said service session resource manager reserves resources in accordance with said session preference information.
If said session preference information indicates a user preference for the new service session over an existing service session, session preference information identifying said existing service session may be communicated to a router or to an external data source or remote access server at the server end of said communications line, wherein said router or external data source or remote access server modifies the existing service session and/or terminates said service session in accordance with said user preference information.
The existing service session may be modified to increase or reduce a reserved resource used by the existing service session identified in said session preference information.
The existing service session identified in said session preference information may be terminated. The resource may comprise bandwidth over said communications line.
A service session may be for a data stream. The data stream may comprise audio and/or video content data. In principle this could be extended to non-audio/video traffic e.g. VPN traffic in a homeworker environment.
The service session manager may comprise a UPnP-enabled quality of service (QoS) service manager and said current resource utilisation indicator may be updated by said service request processor to indicate a resource used by one or more service sessions established by one or more client terminals not supporting UPnP quality of service service management which are configured to send service requests over said communications line without requesting access to the service from said UPnP-enabled quality of service service manager.
Another aspect of the invention comprises a method of service session resource management in a router capable of routing a plurality of service sessions between a plurality of client terminals over a communications line, the method comprising: storing a current resource utilisation indicator for a resource of said communications line; processing a new service session request from one of said plurality of client terminals to determine a required resource for said new service session over said communications line; determining if resources are available for said requested service session in dependence on an available line rate and said current utilisation indicator; reserving the required resource; updating said current utilisation indicator to indicate the allowed resource reservation; and responding to said client that said resources have been reserved, wherein the method further comprises: updating said current resource utilisation indicator to indicate a resource used by one or more service sessions established by one or more client terminals configured to send service requests over said communications line without requesting access to the service from said service session manager.
Another aspect of the invention comprises a router for a local communications network comprising a plurality of client terminals, the router including a service session resource manager according to an above aspect of the invention.
The router may further comprise: a plurality of user ports, each port for connection to a said client terminal, an external connection port; switching means for transmitting data, and requests for data, between the ports, and said external connection port; a line speed checker; and one or more data processors arranged to implement said service session resource manager and arranged for processing service session data requests received at each port and to select which service session requests are to be forwarded to the external connection port.
One or more of the user ports may have an associated service request interceptor, the associated service request interceptor having: terminal identification means for identifying a user terminal attached to a respective one of said one or more user ports; interception means for intercepting service session data requests received at said one or more user ports and any response data generated by the service session resource manager; data adaptation means for adapting any said response data generated by the service session resource manager; transmission means to forward the adapted response data to the user terminal connected to the port, wherein the router is further configured to update said current resource utilisation indicator of said service session resource manager to indicate a resource used by one or more intercepted service session data requests.
Another aspect of the invention relates to: a router for a local communications network having: a plurality of user ports for connection to a plurality of user terminals, switching means for transmitting data, and requests for data, between the ports and an external connection port, and a mediation processor having: a request processor to process data requests received at each port and select which data requests are to be forwarded to the external connection port, and                a response processor to return response data relating to the data requests to the respective port from which the request was received; wherein one or more of the user ports has an associated service request interceptor, the associated service request interceptor having: terminal identification means for identifying a user terminal attached to the user port, interception means for intercepting data requests received at the port, and response data generated by the mediation processor, data adaptation means for generating response data adapted to the user terminal connected to the port.        
The associated service request interceptor acts as a proxy, allowing “legacy” user terminals not equipped with the mediation tools to co-operate in the negotiation for bandwidth. In particular, it may allow the router to be informed of the bandwidth required by the device, or of any priority it should be given (for example by identification of the data requested, or by a user-generated password allowing one user to be given priority in mediating requests for data. The service request interceptor may also generate data in a form suitable for display on the user device, for example to inform the user why a data request has been refused or an existing data stream is to be terminated, to cause any necessary disconnection to take place in a “graceful” manner.
The service request interceptor may also be arranged to resubmit a request that has been previously refused or interrupted when demand for bandwidth reduces to a level where the request can be accommodated, for example, by prompting the client to resubmit a previously rejected request which the SRI then intercepts and forwards to the QoS service manager.
Another aspect of the invention seeks to provide a service session resource mediator for a communications line used by both resource mediation enabled client terminals and resource mediation non-enabled client terminals, the resource mediator comprising: means to receive service session resource requests; means to determine availability of a requested resource; means to respond to a received service session resource request to indicate said request is granted; wherein said means to determine availability of a requested resource includes a determination of the resource utilisation by services requested by both resource mediation enabled and non-resource mediation enabled client terminals.
The invention therefore is capable of providing a non-UPnP QoS Service Management supporting client terminal with information on other service sessions using resources which have prevented an service request from the client terminal from being accepted, the method by intercepting the service request from the client terminal; generating a request identifier for the service request; and generating a traffic descriptor for said requested service; forwarding said traffic descriptor for the service request to an extended UPnP QoS Service Manager; receiving a reject message from said extended UPnP QoS Service Manager which includes error information including information identifying said other service sessions and said traffic descriptor; determining the request identifier for said reject request from said traffic descriptor; storing the error information in association with the determined request identifier; generating a redirect message including said request identifier and the address of a web-server arranged to dynamically generate error information; sending the redirect message to said client terminal. At the client terminal, in response to receipt of a said redirect message, an HTTP request is directed to said web-server which includes said request identifier. The web-server which receives said HTTP request, including said request identifier, processes the HTTP request: by extracting said request identifier; generating a request for error information including the extracted request identifier; sending said request to said service request interceptor; receiving error information retrieved by said service request interceptor locating said error information using said request identifier; and generating a web-page containing said error information, whereby the client terminal displays said web-page so generated.
The aspects and embodiments of the invention are as set out herein above and in the accompanying independent and dependent claims, which may be combined in any manner apparent to one of ordinary skill in the art.
A quality of service condition may comprise one or more of: a predetermined range of latency, variable delay, encoding quality, colour saturation, perceived mean opinion score on image quality or the like.
The resource may comprise one or more of the following: bandwidth over a broadband access line to an access point via which the client terminal is provided with access to said broadband line; bandwidth over a communications channel to the service requesting device on a wired or wireless path between the service requesting device and an access point via which the client terminal is provided with access to a broadband line; bandwidth over a communications channel to the service requesting device on a wired or wireless path between the service requesting device and a service-providing one of said plurality of client terminals arranged to provide said requested service; bandwidth over a communications channel to a service providing device on a wired or wireless path between the service requesting device and said service-providing device.
The best mode of the invention as currently contemplated by the inventors will now be described with reference to the accompanying drawings.